#!/usr/bin/python 
import os
import re
import funkcje2

homeDir='/home/monday1705/public_html/io_dir/'



def index():
  

################ IN ##################
	namexml = 'query.xml'
	f = open(homeDir + namexml, 'r')
	
	zapytanie = f.read()
	napis2 = '<coursesChoiceQuery>'
	mniejszeZapytanie = funkcje2.funkcja2(zapytanie,napis2)
	lista = funkcje2.szukajWzorcow(mniejszeZapytanie) 
	iloscPrzedmiotow = len(lista) - 1
	pytaniePrologowe = 'open(\'/home/monday1705/public_html/pypublish/wyn\',write,Str,[alias(tex)]), zapisy(['
	i=0
	while i<iloscPrzedmiotow-1:
		pytaniePrologowe+=lista[i].lower()+','
		i+=1
	pytaniePrologowe+=lista[iloscPrzedmiotow-1].lower()+'],' + str(int(lista[iloscPrzedmiotow])+1) + ',Y,N)'
	
	pytaniePrologowe+=',write(tex,Y),write(tex,N),close(Str).'


################# PROLOG ##############

#	os.system('/home/monday1705/public_html/pypublish')
	os.chdir('/home/monday1705/public_html/pypublish')
	os.system('echo "" > wyn')
	os.system('chmod 0777 wyn')
	os.system('echo "" > sorted')
	os.system('chmod 0777 sorted')
	os.system('echo "' + pytaniePrologowe + '" | /home/monday1705/SWI-Prolog/bin/pl -q -s /home/monday1705/monday1705/Prolog/wppt_inf.pl')
	print('echo "' + pytaniePrologowe + '" | /home/monday1705/SWI-Prolog/bin/pl -q -s /home/monday1705/monday1705/Prolog/wppt_inf.pl')
	os.system('echo "' + pytaniePrologowe + '" >> log')
	os.system('echo "' + pytaniePrologowe + '" > last_query')
	os.system('php sorter.php > sorted')


################# OUT #################
	nameout = homeDir + 'out.xml'
	hCout = open(nameout, 'w')

	nameprolog ='/home/monday1705/public_html/pypublish/sorted'
	hProlog = open(nameprolog, 'r')
	prolog = hProlog.read()

	ind = prolog.find(']]') + 2
	kursy = prolog[0:ind]
	deficyty = prolog[ind:len(prolog)]
	

	p = re.compile('\[[a-z0-9 ,]+\]')
	wektorRozwiazan = p.findall(kursy)
	#print(wektorRozwiazan)

	p = re.compile('\[[0-9, -]+\]')
	wektorECTS = p.findall(deficyty)

	cout = ''

	cout += '<?xml version="1.0" encoding="utf-8"?>\n'
	cout += '<queriesResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="monday1705.xsd">\n'
	cout += '  <queryResponse>\n'
	
	
	#wydzielenie zawartosci z odpowiedzi prologa
	for i in range(0,len(wektorRozwiazan)):
		wektorRozwiazan[i] = wektorRozwiazan[i].replace(' ', '').replace('[', '').replace(']', '')
		wektorECTS[i] = wektorECTS[i].replace(' ', '').replace('[', '').replace(']', '')

	for i in range(0,len(wektorRozwiazan)):
		cout += '    <coursesChoiceQueryResponse>\n'
		temp = wektorRozwiazan[i].split(',')
		ECTS = wektorECTS[i].split(',')
		courses = []
		counter = 0
		for k in range(0,len(temp)):
			if (funkcje2.czyLiczba(temp[k]) == False):
				courses.append(temp[k])
			else:
				cout += '      <courses>\n'
				for m in range(0,len(courses)):
					cout += '        <course>'
					cout += courses[m]
					cout += '</course>\n'
				cout += '      </courses>\n'
				courses = []
				cout += '      <term>'
				cout += temp[k]
				cout += '</term>\n'
				cout += '      <ECTS>'
				cout += ECTS[counter]
				cout += '</ECTS>\n'
				counter = counter + 1

		cout += '    </coursesChoiceQueryResponse>\n'

	cout += '  </queryResponse>\n'
	cout += '</queriesResponse>'
	hCout.write(cout)

	hCout.close()
	hProlog.close()
	
	return '<html><head><script type="text/javascript">document.location.href="http://moodle.im.pwr.wroc.pl/~monday1705//index.php/monday1705/answers ";</script></head><body></body></html>'




###START###

index()